﻿using MediatR;
using Sgr.Application.Commands;
using Sgr.Domain.Uow;
using Sgr.UPMS.Domain.Users;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sgr.UPMS.Application.Commands.UserProfile
{
    public class ForgotPasswordCommand : IRequest<CommandResult<bool>>, IRequireUnitOfWork
    {
        /// <summary>
        /// 身份验证类型
        /// </summary>
        public UserAuthenticationType AuthenticationType { get; set; }

        /// <summary>
        /// 验证账号（手机号或邮箱地址）
        /// </summary>
        public string Account { get; set; } = string.Empty;

        /// <summary>
        /// 验证码
        /// </summary>
        public string VerificationCode { get; set; } = string.Empty;

        /// <summary>
        /// 验证用途(四位字符)
        /// </summary>
        public string VerificationPurpose { get; set; } = "";

        /// <summary>
        /// 登录密码
        /// </summary>
        public string? LoginPassword { get; set; } = string.Empty;
    }
}